package com.panda.system.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.panda.common.annotation.Excel;
import com.panda.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * 任务信息对象 panda_task
 * 
 * @author ruoyi
 * @date 2021-01-02
 */
public class PandaTask extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 任务ID */
    private Long taskId;

    /** 总任务ID */
    private Long parentTaskId;

    /** 任务名称 */
    @Excel(name = "任务名称")
    private String taskName;

    /** 店铺ID */
    private Long storeId;

    /** 店铺名称 */
    @Excel(name = "店铺名称")
    private String storeName;

    /** 产品ID */
    private String productId;

    /** 产品名称 */
    @Excel(name = "产品名称")
    private String productName;

    /** 主图 */
    @Excel(name = "主图")
    private String picture;

    /** 金额 */
    @Excel(name = "金额")
    private BigDecimal price;

    /** 日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date tastDate;

    /** 当天成交量 */
    @Excel(name = "当天成交量")
    private Integer dailyTradingVolume;

    /** 预留成交量 */
    @Excel(name = "预留成交量")
    private Integer reservedTradingVolume;

    /** 剩余成交量 */
    private Integer remainVolume;

    /** 评价信息：0不用评价，1评价 */
    @Excel(name = "评价信息：0不用评价，1评价")
    private String evaluation;

    /** 状态（0新建 1待分配，2已分配，3已接单，4已操作，5已完成） */
    private String status;

    /** 责任人 IDs */
    private String responsibleUserId;

    /** 关键词 */
    @Excel(name = "关键词")
    private String keywords;

    /** 链接 */
    @Excel(name = "链接")
    private String url;

    //===================================
    // 分配计数器
    private int fpValue;

    private String deptName;

    List<TPandaTaskUser> userTasks;


    public void setTaskId(Long taskId) 
    {
        this.taskId = taskId;
    }

    public Long getTaskId() 
    {
        return taskId;
    }

    public Long getParentTaskId() {
        return parentTaskId;
    }

    public void setParentTaskId(Long parentTaskId) {
        this.parentTaskId = parentTaskId;
    }

    public void setTaskName(String taskName)
    {
        this.taskName = taskName;
    }

    public String getTaskName() 
    {
        return taskName;
    }
    public void setStoreId(Long storeId) 
    {
        this.storeId = storeId;
    }

    public Long getStoreId() 
    {
        return storeId;
    }
    public void setStoreName(String storeName) 
    {
        this.storeName = storeName;
    }

    public String getStoreName() 
    {
        return storeName;
    }
    public void setProductId(String productId) 
    {
        this.productId = productId;
    }

    public String getProductId() 
    {
        return productId;
    }
    public void setProductName(String productName) 
    {
        this.productName = productName;
    }

    public String getProductName() 
    {
        return productName;
    }
    public void setPicture(String picture) 
    {
        this.picture = picture;
    }

    public String getPicture() 
    {
        return picture;
    }
    public void setPrice(BigDecimal price) 
    {
        this.price = price;
    }

    public BigDecimal getPrice() 
    {
        return price;
    }
    public void setTastDate(Date tastDate) 
    {
        this.tastDate = tastDate;
    }

    public Date getTastDate() 
    {
        return tastDate;
    }
    public void setDailyTradingVolume(Integer dailyTradingVolume) 
    {
        this.dailyTradingVolume = dailyTradingVolume;
    }

    public Integer getDailyTradingVolume() 
    {
        return dailyTradingVolume;
    }
    public void setReservedTradingVolume(Integer reservedTradingVolume) 
    {
        this.reservedTradingVolume = reservedTradingVolume;
    }

    public Integer getReservedTradingVolume() 
    {
        return reservedTradingVolume;
    }
    public void setRemainVolume(Integer remainVolume) 
    {
        this.remainVolume = remainVolume;
    }

    public Integer getRemainVolume() 
    {
        return remainVolume;
    }
    public void setEvaluation(String evaluation) 
    {
        this.evaluation = evaluation;
    }

    public String getEvaluation() 
    {
        return evaluation;
    }
    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }
    public void setResponsibleUserId(String responsibleUserId)
    {
        this.responsibleUserId = responsibleUserId;
    }

    public String getResponsibleUserId()
    {
        return responsibleUserId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
            .append("taskId", getTaskId())
            .append("taskName", getTaskName())
            .append("storeId", getStoreId())
            .append("storeName", getStoreName())
            .append("productId", getProductId())
            .append("productName", getProductName())
            .append("picture", getPicture())
            .append("price", getPrice())
            .append("tastDate", getTastDate())
            .append("dailyTradingVolume", getDailyTradingVolume())
            .append("reservedTradingVolume", getReservedTradingVolume())
            .append("remainVolume", getRemainVolume())
            .append("evaluation", getEvaluation())
            .append("status", getStatus())
            .append("responsibleUserId", getResponsibleUserId())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .toString();
    }

    public String getKeywords() {
        return keywords;
    }

    public void setKeywords(String keywords) {
        this.keywords = keywords;
    }

    public String getUrl() {
        return url;
    }

    public void setUrl(String url) {
        this.url = url;
    }

    public int getFpValue() {
        return fpValue;
    }

    public void setFpValue(int fpValue) {
        this.fpValue = fpValue;
    }

    public List<TPandaTaskUser> getUserTasks() {
        return userTasks;
    }

    public void setUserTasks(List<TPandaTaskUser> userTasks) {
        this.userTasks = userTasks;
    }

    public String getDeptName() {
        return deptName;
    }

    public void setDeptName(String deptName) {
        this.deptName = deptName;
    }
}
